/*
//
//                  INTEL CORPORATION PROPRIETARY INFORMATION
//     This software is supplied under the terms of a license agreement or
//     nondisclosure agreement with Intel Corporation and may not be copied
//     or disclosed except in accordance with the terms of that agreement.
//     Copyright(c) 2003-2007 Intel Corporation. All Rights Reserved.
//
//     Intel(R) Integrated Performance Primitives AAC Decode Sample for Windows*
//
//  By downloading and installing this sample, you hereby agree that the
//  accompanying Materials are being provided to you under the terms and
//  conditions of the End User License Agreement for the Intel(R) Integrated
//  Performance Primitives product previously accepted by you. Please refer
//  to the file ippEULA.rtf or ippEULA.txt located in the root directory of your Intel(R) IPP
//  product installation for more information.
//
//  MPEG-4 and AAC are international standards promoted by ISO, IEC, ITU, ETSI
//  and other organizations. Implementations of these standards, or the standard
//  enabled platforms may require licenses from various entities, including
//  Intel Corporation.
//
*/

#include "umc_defs.h"

#if defined (UMC_ENABLE_AAC_INT_AUDIO_DECODER)

#include "ippdc.h"

/********************************************************************/

Ipp32s aacidec_vlcShifts[] = {
  0, 2, 2, 3, 3, 6, 6, 6, 6, 6, 6, 6
};
Ipp32s aacidec_vlcOffsets[] = {
  0, 2, 2, 4, 4, 32, 32, 32, 32, 32, 32, 32
};
Ipp32s aacidec_vlcTypes[]= {
  5, 0, 0, 4, 4, 1, 1, 4, 4, 4, 4, 3, 5, 5, 5, 5
};
Ipp32s aacidec_vlcTuples[]= {
  1, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1
};
Ipp32s aacidec_vlcTableSizes[] = {
  121 /*sf_book */, 81, 81, 81, 81, 81, 81, 64, 64, 169, 169, 289
};
Ipp32s aacidec_vlcNumSubTables[] = {
  6, 4, 2, 7, 5, 4, 3, 5, 4, 6, 4, 4
};

Ipp32s aacidec_vlcSubTablesSizes0[]  = {5, 3, 2, 2, 3, 4};
Ipp32s aacidec_vlcSubTablesSizes1[]  = {5, 2, 2, 2};
Ipp32s aacidec_vlcSubTablesSizes2[]  = {6, 3};
Ipp32s aacidec_vlcSubTablesSizes3[]  = {3, 3, 2, 2, 2, 2, 2};
Ipp32s aacidec_vlcSubTablesSizes4[]  = {4, 3, 2, 2, 1};
Ipp32s aacidec_vlcSubTablesSizes5[]  = {5, 4, 2, 2};
Ipp32s aacidec_vlcSubTablesSizes6[]  = {6, 3, 2};
Ipp32s aacidec_vlcSubTablesSizes7[]  = {3, 3, 2, 2, 2};
Ipp32s aacidec_vlcSubTablesSizes8[]  = {5, 2, 2, 1};
Ipp32s aacidec_vlcSubTablesSizes9[]  = {3, 3, 3, 2, 2, 2};
Ipp32s aacidec_vlcSubTablesSizes10[] = {6, 3, 2, 1};
Ipp32s aacidec_vlcSubTablesSizes11[] = {5, 3, 2, 2};

Ipp32s *aacidec_vlcSubTablesSizes[] = {
  aacidec_vlcSubTablesSizes0, aacidec_vlcSubTablesSizes1,
  aacidec_vlcSubTablesSizes2, aacidec_vlcSubTablesSizes3,
  aacidec_vlcSubTablesSizes4, aacidec_vlcSubTablesSizes5,
  aacidec_vlcSubTablesSizes6, aacidec_vlcSubTablesSizes7,
  aacidec_vlcSubTablesSizes8, aacidec_vlcSubTablesSizes9,
  aacidec_vlcSubTablesSizes10, aacidec_vlcSubTablesSizes11
};

static IppsVLCTable_32s aacidec_sf_book[] = {
  {   60, 0x00000000,  1},  {   59, 0x00000004,  3},
  {   58, 0x0000000b,  4},  {   61, 0x0000000a,  4},
  {   62, 0x0000000c,  4},  {   57, 0x0000001a,  5},
  {   63, 0x0000001b,  5},  {   55, 0x0000003a,  6},
  {   56, 0x00000038,  6},  {   64, 0x00000039,  6},
  {   65, 0x0000003b,  6},  {   54, 0x00000079,  7},
  {   66, 0x00000078,  7},  {   67, 0x0000007a,  7},
  {   51, 0x000000fa,  8},  {   52, 0x000000f8,  8},
  {   53, 0x000000f6,  8},  {   68, 0x000000f7,  8},
  {   69, 0x000000f9,  8},  {   49, 0x000001f8,  9},
  {   50, 0x000001f7,  9},  {   70, 0x000001f6,  9},
  {   71, 0x000001f9,  9},  {   46, 0x000003f9, 10},
  {   47, 0x000003f7, 10},  {   48, 0x000003f5, 10},
  {   72, 0x000003f4, 10},  {   73, 0x000003f6, 10},
  {   74, 0x000003f8, 10},  {   43, 0x000007f9, 11},
  {   45, 0x000007f8, 11},  {   75, 0x000007f5, 11},
  {   76, 0x000007f4, 11},  {   77, 0x000007f6, 11},
  {   78, 0x000007f7, 11},  {   40, 0x00000ff9, 12},
  {   41, 0x00000ff7, 12},  {   42, 0x00000ff6, 12},
  {   44, 0x00000ff4, 12},  {   79, 0x00000ff5, 12},
  {   80, 0x00000ff8, 12},  {   38, 0x00001ff7, 13},
  {   39, 0x00001ff5, 13},  {   81, 0x00001ff4, 13},
  {   82, 0x00001ff6, 13},  {   83, 0x00001ff8, 13},
  {   32, 0x00003ff9, 14},  {   33, 0x00003ff5, 14},
  {   34, 0x00003ff7, 14},  {   35, 0x00003ff3, 14},
  {   36, 0x00003ff6, 14},  {   37, 0x00003ff2, 14},
  {   84, 0x00003ff8, 14},  {   85, 0x00003ff4, 14},
  {   30, 0x00007ff6, 15},  {   31, 0x00007ff7, 15},
  {   87, 0x00007ff4, 15},  {   89, 0x00007ff5, 15},
  {   24, 0x0000fff5, 16},  {   26, 0x0000fff2, 16},
  {   27, 0x0000fff3, 16},  {   28, 0x0000fff4, 16},
  {   29, 0x0000fff1, 16},  {   86, 0x0000fff0, 16},
  {   88, 0x0000fff6, 16},  {   22, 0x0001ffef, 17},
  {   23, 0x0001fff0, 17},  {   25, 0x0001ffee, 17},
  {    0, 0x0003ffe8, 18},  {    1, 0x0003ffe6, 18},
  {    2, 0x0003ffe7, 18},  {    3, 0x0003ffe5, 18},
  {   19, 0x0003ffe4, 18},  {   21, 0x0003ffe3, 18},
  {   90, 0x0003ffe2, 18},  {    4, 0x0007fff5, 19},
  {    5, 0x0007fff1, 19},  {    6, 0x0007ffed, 19},
  {    7, 0x0007fff6, 19},  {    8, 0x0007ffee, 19},
  {    9, 0x0007ffef, 19},  {   10, 0x0007fff0, 19},
  {   11, 0x0007fffc, 19},  {   12, 0x0007fffd, 19},
  {   13, 0x0007ffff, 19},  {   14, 0x0007fffe, 19},
  {   15, 0x0007fff7, 19},  {   16, 0x0007fff8, 19},
  {   17, 0x0007fffb, 19},  {   18, 0x0007fff9, 19},
  {   20, 0x0007fffa, 19},  {   91, 0x0007ffd9, 19},
  {   92, 0x0007ffda, 19},  {   93, 0x0007ffdb, 19},
  {   94, 0x0007ffdc, 19},  {   95, 0x0007ffdd, 19},
  {   96, 0x0007ffde, 19},  {   97, 0x0007ffd8, 19},
  {   98, 0x0007ffd2, 19},  {   99, 0x0007ffd3, 19},
  {  100, 0x0007ffd4, 19},  {  101, 0x0007ffd5, 19},
  {  102, 0x0007ffd6, 19},  {  103, 0x0007fff2, 19},
  {  104, 0x0007ffdf, 19},  {  105, 0x0007ffe7, 19},
  {  106, 0x0007ffe8, 19},  {  107, 0x0007ffe9, 19},
  {  108, 0x0007ffea, 19},  {  109, 0x0007ffeb, 19},
  {  110, 0x0007ffe6, 19},  {  111, 0x0007ffe0, 19},
  {  112, 0x0007ffe1, 19},  {  113, 0x0007ffe2, 19},
  {  114, 0x0007ffe3, 19},  {  115, 0x0007ffe4, 19},
  {  116, 0x0007ffe5, 19},  {  117, 0x0007ffd7, 19},
  {  118, 0x0007ffec, 19},  {  119, 0x0007fff4, 19},
  {  120, 0x0007fff3, 19}
};

static IppsVLCTable_32s aacidec_spec_book1[] = {
  {  -43, 0x000007f8, 11},  {  -42, 0x000001f1,  9},
  {  -41, 0x000007fd, 11},  {  -39, 0x000003f5, 10},
  {  -38, 0x00000068,  7},  {  -37, 0x000003f0, 10},
  {  -35, 0x000007f7, 11},  {  -34, 0x000001ec,  9},
  {  -33, 0x000007f5, 11},  {  -27, 0x000003f1, 10},
  {  -26, 0x00000072,  7},  {  -25, 0x000003f4, 10},
  {  -23, 0x00000074,  7},  {  -22, 0x00000011,  5},
  {  -21, 0x00000076,  7},  {  -19, 0x000001eb,  9},
  {  -18, 0x0000006c,  7},  {  -17, 0x000003f6, 10},
  {  -11, 0x000007fc, 11},  {  -10, 0x000001e1,  9},
  {   -9, 0x000007f1, 11},  {   -7, 0x000001f0,  9},
  {   -6, 0x00000061,  7},  {   -5, 0x000001f6,  9},
  {   -3, 0x000007f2, 11},  {   -2, 0x000001ea,  9},
  {   -1, 0x000007fb, 11},  {   21, 0x000001f2,  9},
  {   22, 0x00000069,  7},  {   23, 0x000001ed,  9},
  {   25, 0x00000077,  7},  {   26, 0x00000017,  5},
  {   27, 0x0000006f,  7},  {   29, 0x000001e6,  9},
  {   30, 0x00000064,  7},  {   31, 0x000001e5,  9},
  {   37, 0x00000067,  7},  {   38, 0x00000015,  5},
  {   39, 0x00000062,  7},  {   41, 0x00000012,  5},
  {   42, 0x00000000,  1},  {   43, 0x00000014,  5},
  {   45, 0x00000065,  7},  {   46, 0x00000016,  5},
  {   47, 0x0000006d,  7},  {   53, 0x000001e9,  9},
  {   54, 0x00000063,  7},  {   55, 0x000001e4,  9},
  {   57, 0x0000006b,  7},  {   58, 0x00000013,  5},
  {   59, 0x00000071,  7},  {   61, 0x000001e3,  9},
  {   62, 0x00000070,  7},  {   63, 0x000001f3,  9},
  {   85, 0x000007fe, 11},  {   86, 0x000001e7,  9},
  {   87, 0x000007f3, 11},  {   89, 0x000001ef,  9},
  {   90, 0x00000060,  7},  {   91, 0x000001ee,  9},
  {   93, 0x000007f0, 11},  {   94, 0x000001e2,  9},
  {   95, 0x000007fa, 11},  {  101, 0x000003f3, 10},
  {  102, 0x0000006a,  7},  {  103, 0x000001e8,  9},
  {  105, 0x00000075,  7},  {  106, 0x00000010,  5},
  {  107, 0x00000073,  7},  {  109, 0x000001f4,  9},
  {  110, 0x0000006e,  7},  {  111, 0x000003f7, 10},
  {  117, 0x000007f6, 11},  {  118, 0x000001e0,  9},
  {  119, 0x000007f9, 11},  {  121, 0x000003f2, 10},
  {  122, 0x00000066,  7},  {  123, 0x000001f5,  9},
  {  125, 0x000007ff, 11},  {  126, 0x000001f7,  9},
  {  127, 0x000007f4, 11}
};
static IppsVLCTable_32s aacidec_spec_book2[] = {
  {  -43, 0x000001f3,  9},  {  -42, 0x0000006f,  7},
  {  -41, 0x000001fd,  9},  {  -39, 0x000000eb,  8},
  {  -38, 0x00000023,  6},  {  -37, 0x000000ea,  8},
  {  -35, 0x000001f7,  9},  {  -34, 0x000000e8,  8},
  {  -33, 0x000001fa,  9},  {  -27, 0x000000f2,  8},
  {  -26, 0x0000002d,  6},  {  -25, 0x00000070,  7},
  {  -23, 0x00000020,  6},  {  -22, 0x00000006,  5},
  {  -21, 0x0000002b,  6},  {  -19, 0x0000006e,  7},
  {  -18, 0x00000028,  6},  {  -17, 0x000000e9,  8},
  {  -11, 0x000001f9,  9},  {  -10, 0x00000066,  7},
  {   -9, 0x000000f8,  8},  {   -7, 0x000000e7,  8},
  {   -6, 0x0000001b,  6},  {   -5, 0x000000f1,  8},
  {   -3, 0x000001f4,  9},  {   -2, 0x0000006b,  7},
  {   -1, 0x000001f5,  9},  {   21, 0x000000ec,  8},
  {   22, 0x0000002a,  6},  {   23, 0x0000006c,  7},
  {   25, 0x0000002c,  6},  {   26, 0x0000000a,  5},
  {   27, 0x00000027,  6},  {   29, 0x00000067,  7},
  {   30, 0x0000001a,  6},  {   31, 0x000000f5,  8},
  {   37, 0x00000024,  6},  {   38, 0x00000008,  5},
  {   39, 0x0000001f,  6},  {   41, 0x00000009,  5},
  {   42, 0x00000000,  3},  {   43, 0x00000007,  5},
  {   45, 0x0000001d,  6},  {   46, 0x0000000b,  5},
  {   47, 0x00000030,  6},  {   53, 0x000000ef,  8},
  {   54, 0x0000001c,  6},  {   55, 0x00000064,  7},
  {   57, 0x0000001e,  6},  {   58, 0x0000000c,  5},
  {   59, 0x00000029,  6},  {   61, 0x000000f3,  8},
  {   62, 0x0000002f,  6},  {   63, 0x000000f0,  8},
  {   85, 0x000001fc,  9},  {   86, 0x00000071,  7},
  {   87, 0x000001f2,  9},  {   89, 0x000000f4,  8},
  {   90, 0x00000021,  6},  {   91, 0x000000e6,  8},
  {   93, 0x000000f7,  8},  {   94, 0x00000068,  7},
  {   95, 0x000001f8,  9},  {  101, 0x000000ee,  8},
  {  102, 0x00000022,  6},  {  103, 0x00000065,  7},
  {  105, 0x00000031,  6},  {  106, 0x00000002,  4},
  {  107, 0x00000026,  6},  {  109, 0x000000ed,  8},
  {  110, 0x00000025,  6},  {  111, 0x0000006a,  7},
  {  117, 0x000001fb,  9},  {  118, 0x00000072,  7},
  {  119, 0x000001fe,  9},  {  121, 0x00000069,  7},
  {  122, 0x0000002e,  6},  {  123, 0x000000f6,  8},
  {  125, 0x000001ff,  9},  {  126, 0x0000006d,  7},
  {  127, 0x000001f6,  9}
};
static IppsVLCTable_32s aacidec_spec_book3[] = {
  {    0, 0x00000000,  1}, {    1, 0x00000009,  4},
  {    2, 0x000000ef,  8}, {    8, 0x0000000b,  4},
  {    9, 0x00000019,  5}, {   10, 0x000000f0,  8},
  {   16, 0x000001eb,  9}, {   17, 0x000001e6,  9},
  {   18, 0x000003f2, 10}, {   64, 0x0000000a,  4},
  {   65, 0x00000035,  6}, {   66, 0x000001ef,  9},
  {   72, 0x00000034,  6}, {   73, 0x00000037,  6},
  {   74, 0x000001e9,  9}, {   80, 0x000001ed,  9},
  {   81, 0x000001e7,  9}, {   82, 0x000003f3, 10},
  {  128, 0x000001ee,  9}, {  129, 0x000003ed, 10},
  {  130, 0x00001ffa, 13}, {  136, 0x000001ec,  9},
  {  137, 0x000001f2,  9}, {  138, 0x000007f9, 11},
  {  144, 0x000007f8, 11}, {  145, 0x000003f8, 10},
  {  146, 0x00000ff8, 12}, {  512, 0x00000008,  4},
  {  513, 0x00000038,  6}, {  514, 0x000003f6, 10},
  {  520, 0x00000036,  6}, {  521, 0x00000075,  7},
  {  522, 0x000003f1, 10}, {  528, 0x000003eb, 10},
  {  529, 0x000003ec, 10}, {  530, 0x00000ff4, 12},
  {  576, 0x00000018,  5}, {  577, 0x00000076,  7},
  {  578, 0x000007f4, 11}, {  584, 0x00000039,  6},
  {  585, 0x00000074,  7}, {  586, 0x000003ef, 10},
  {  592, 0x000001f3,  9}, {  593, 0x000001f4,  9},
  {  594, 0x000007f6, 11}, {  640, 0x000001e8,  9},
  {  641, 0x000003ea, 10}, {  642, 0x00001ffc, 13},
  {  648, 0x000000f2,  8}, {  649, 0x000001f1,  9},
  {  650, 0x00000ffb, 12}, {  656, 0x000003f5, 10},
  {  657, 0x000007f3, 11}, {  658, 0x00000ffc, 12},
  { 1024, 0x000000ee,  8}, { 1025, 0x000003f7, 10},
  { 1026, 0x00007ffe, 15}, { 1032, 0x000001f0,  9},
  { 1033, 0x000007f5, 11}, { 1034, 0x00007ffd, 15},
  { 1040, 0x00001ffb, 13}, { 1041, 0x00003ffa, 14},
  { 1042, 0x0000ffff, 16}, { 1088, 0x000000f1,  8},
  { 1089, 0x000003f0, 10}, { 1090, 0x00003ffc, 14},
  { 1096, 0x000001ea,  9}, { 1097, 0x000003ee, 10},
  { 1098, 0x00003ffb, 14}, { 1104, 0x00000ff6, 12},
  { 1105, 0x00000ffa, 12}, { 1106, 0x00007ffc, 15},
  { 1152, 0x000007f2, 11}, { 1153, 0x00000ff5, 12},
  { 1154, 0x0000fffe, 16}, { 1160, 0x000003f4, 10},
  { 1161, 0x000007f7, 11}, { 1162, 0x00007ffb, 15},
  { 1168, 0x00000ff7, 12}, { 1169, 0x00000ff9, 12},
  { 1170, 0x00007ffa, 15}
};
static IppsVLCTable_32s aacidec_spec_book4[] = {
  {    0, 0x00000007,  4}, {    1, 0x00000016,  5},
  {    2, 0x000000f6,  8}, {    8, 0x00000018,  5},
  {    9, 0x00000008,  4}, {   10, 0x000000ef,  8},
  {   16, 0x000001ef,  9}, {   17, 0x000000f3,  8},
  {   18, 0x000007f8, 11}, {   64, 0x00000019,  5},
  {   65, 0x00000017,  5}, {   66, 0x000000ed,  8},
  {   72, 0x00000015,  5}, {   73, 0x00000001,  4},
  {   74, 0x000000e2,  8}, {   80, 0x000000f0,  8},
  {   81, 0x00000070,  7}, {   82, 0x000003f0, 10},
  {  128, 0x000001ee,  9}, {  129, 0x000000f1,  8},
  {  130, 0x000007fa, 11}, {  136, 0x000000ee,  8},
  {  137, 0x000000e4,  8}, {  138, 0x000003f2, 10},
  {  144, 0x000007f6, 11}, {  145, 0x000003ef, 10},
  {  146, 0x000007fd, 11}, {  512, 0x00000005,  4},
  {  513, 0x00000014,  5}, {  514, 0x000000f2,  8},
  {  520, 0x00000009,  4}, {  521, 0x00000004,  4},
  {  522, 0x000000e5,  8}, {  528, 0x000000f4,  8},
  {  529, 0x000000e8,  8}, {  530, 0x000003f4, 10},
  {  576, 0x00000006,  4}, {  577, 0x00000002,  4},
  {  578, 0x000000e7,  8}, {  584, 0x00000003,  4},
  {  585, 0x00000000,  4}, {  586, 0x0000006b,  7},
  {  592, 0x000000e3,  8}, {  593, 0x00000069,  7},
  {  594, 0x000001f3,  9}, {  640, 0x000000eb,  8},
  {  641, 0x000000e6,  8}, {  642, 0x000003f6, 10},
  {  648, 0x0000006e,  7}, {  649, 0x0000006a,  7},
  {  650, 0x000001f4,  9}, {  656, 0x000003ec, 10},
  {  657, 0x000001f0,  9}, {  658, 0x000003f9, 10},
  { 1024, 0x000000f5,  8}, { 1025, 0x000000ec,  8},
  { 1026, 0x000007fb, 11}, { 1032, 0x000000ea,  8},
  { 1033, 0x0000006f,  7}, { 1034, 0x000003f7, 10},
  { 1040, 0x000007f9, 11}, { 1041, 0x000003f3, 10},
  { 1042, 0x00000fff, 12}, { 1088, 0x000000e9,  8},
  { 1089, 0x0000006d,  7}, { 1090, 0x000003f8, 10},
  { 1096, 0x0000006c,  7}, { 1097, 0x00000068,  7},
  { 1098, 0x000001f5,  9}, { 1104, 0x000003ee, 10},
  { 1105, 0x000001f2,  9}, { 1106, 0x000007f4, 11},
  { 1152, 0x000007f7, 11}, { 1153, 0x000003f1, 10},
  { 1154, 0x00000ffe, 12}, { 1160, 0x000003ed, 10},
  { 1161, 0x000001f1,  9}, { 1162, 0x000007f5, 11},
  { 1168, 0x000007fe, 11}, { 1169, 0x000003f5, 10},
  { 1170, 0x000007fc, 11}
};
static IppsVLCTable_32s aacidec_spec_book5[] = {
  { -228, 0x00001fff, 13}, { -227, 0x00000ff7, 12},
  { -226, 0x000007f4, 11}, { -225, 0x000007e8, 11},
  { -224, 0x000003f1, 10}, { -223, 0x000007ee, 11},
  { -222, 0x000007f9, 11}, { -221, 0x00000ff8, 12},
  { -220, 0x00001ffd, 13}, { -164, 0x00000ffd, 12},
  { -163, 0x000007f1, 11}, { -162, 0x000003e8, 10},
  { -161, 0x000001e8,  9}, { -160, 0x000000f0,  8},
  { -159, 0x000001ec,  9}, { -158, 0x000003ee, 10},
  { -157, 0x000007f2, 11}, { -156, 0x00000ffa, 12},
  { -100, 0x00000ff4, 12}, {  -99, 0x000003ef, 10},
  {  -98, 0x000001f2,  9}, {  -97, 0x000000e8,  8},
  {  -96, 0x00000070,  7}, {  -95, 0x000000ec,  8},
  {  -94, 0x000001f0,  9}, {  -93, 0x000003ea, 10},
  {  -92, 0x000007f3, 11}, {  -36, 0x000007eb, 11},
  {  -35, 0x000001eb,  9}, {  -34, 0x000000ea,  8},
  {  -33, 0x0000001a,  5}, {  -32, 0x00000008,  4},
  {  -31, 0x00000019,  5}, {  -30, 0x000000ee,  8},
  {  -29, 0x000001ef,  9}, {  -28, 0x000007ed, 11},
  {   28, 0x000003f0, 10}, {   29, 0x000000f2,  8},
  {   30, 0x00000073,  7}, {   31, 0x0000000b,  4},
  {   32, 0x00000000,  1}, {   33, 0x0000000a,  4},
  {   34, 0x00000071,  7}, {   35, 0x000000f3,  8},
  {   36, 0x000007e9, 11}, {   92, 0x000007ef, 11},
  {   93, 0x000001ee,  9}, {   94, 0x000000ef,  8},
  {   95, 0x00000018,  5}, {   96, 0x00000009,  4},
  {   97, 0x0000001b,  5}, {   98, 0x000000eb,  8},
  {   99, 0x000001e9,  9}, {  100, 0x000007ec, 11},
  {  156, 0x000007f6, 11}, {  157, 0x000003eb, 10},
  {  158, 0x000001f3,  9}, {  159, 0x000000ed,  8},
  {  160, 0x00000072,  7}, {  161, 0x000000e9,  8},
  {  162, 0x000001f1,  9}, {  163, 0x000003ed, 10},
  {  164, 0x000007f7, 11}, {  220, 0x00000ff6, 12},
  {  221, 0x000007f0, 11}, {  222, 0x000003e9, 10},
  {  223, 0x000001ed,  9}, {  224, 0x000000f1,  8},
  {  225, 0x000001ea,  9}, {  226, 0x000003ec, 10},
  {  227, 0x000007f8, 11}, {  228, 0x00000ff9, 12},
  {  284, 0x00001ffc, 13}, {  285, 0x00000ffc, 12},
  {  286, 0x00000ff5, 12}, {  287, 0x000007ea, 11},
  {  288, 0x000003f3, 10}, {  289, 0x000003f2, 10},
  {  290, 0x000007f5, 11}, {  291, 0x00000ffb, 12},
  {  292, 0x00001ffe, 13}
};
static IppsVLCTable_32s aacidec_spec_book6[] = {
  { -228, 0x000007fe, 11}, { -227, 0x000003fd, 10},
  { -226, 0x000001f1,  9}, { -225, 0x000001eb,  9},
  { -224, 0x000001f4,  9}, { -223, 0x000001ea,  9},
  { -222, 0x000001f0,  9}, { -221, 0x000003fc, 10},
  { -220, 0x000007fd, 11}, { -164, 0x000003f6, 10},
  { -163, 0x000001e5,  9}, { -162, 0x000000ea,  8},
  { -161, 0x0000006c,  7}, { -160, 0x00000071,  7},
  { -159, 0x00000068,  7}, { -158, 0x000000f0,  8},
  { -157, 0x000001e6,  9}, { -156, 0x000003f7, 10},
  { -100, 0x000001f3,  9}, {  -99, 0x000000ef,  8},
  {  -98, 0x00000032,  6}, {  -97, 0x00000027,  6},
  {  -96, 0x00000028,  6}, {  -95, 0x00000026,  6},
  {  -94, 0x00000031,  6}, {  -93, 0x000000eb,  8},
  {  -92, 0x000001f7,  9}, {  -36, 0x000001e8,  9},
  {  -35, 0x0000006f,  7}, {  -34, 0x0000002e,  6},
  {  -33, 0x00000008,  4}, {  -32, 0x00000004,  4},
  {  -31, 0x00000006,  4}, {  -30, 0x00000029,  6},
  {  -29, 0x0000006b,  7}, {  -28, 0x000001ee,  9},
  {   28, 0x000001ef,  9}, {   29, 0x00000072,  7},
  {   30, 0x0000002d,  6}, {   31, 0x00000002,  4},
  {   32, 0x00000000,  4}, {   33, 0x00000003,  4},
  {   34, 0x0000002f,  6}, {   35, 0x00000073,  7},
  {   36, 0x000001fa,  9}, {   92, 0x000001e7,  9},
  {   93, 0x0000006e,  7}, {   94, 0x0000002b,  6},
  {   95, 0x00000007,  4}, {   96, 0x00000001,  4},
  {   97, 0x00000005,  4}, {   98, 0x0000002c,  6},
  {   99, 0x0000006d,  7}, {  100, 0x000001ec,  9},
  {  156, 0x000001f9,  9}, {  157, 0x000000ee,  8},
  {  158, 0x00000030,  6}, {  159, 0x00000024,  6},
  {  160, 0x0000002a,  6}, {  161, 0x00000025,  6},
  {  162, 0x00000033,  6}, {  163, 0x000000ec,  8},
  {  164, 0x000001f2,  9}, {  220, 0x000003f8, 10},
  {  221, 0x000001e4,  9}, {  222, 0x000000ed,  8},
  {  223, 0x0000006a,  7}, {  224, 0x00000070,  7},
  {  225, 0x00000069,  7}, {  226, 0x00000074,  7},
  {  227, 0x000000f1,  8}, {  228, 0x000003fa, 10},
  {  284, 0x000007ff, 11}, {  285, 0x000003f9, 10},
  {  286, 0x000001f6,  9}, {  287, 0x000001ed,  9},
  {  288, 0x000001f8,  9}, {  289, 0x000001e9,  9},
  {  290, 0x000001f5,  9}, {  291, 0x000003fb, 10},
  {  292, 0x000007fc, 11}
};

static IppsVLCTable_32s aacidec_spec_book7[] = {
  {    0, 0x00000000,  1}, {    1, 0x00000005,  3},
  {    2, 0x00000037,  6}, {    3, 0x00000074,  7},
  {    4, 0x000000f2,  8}, {    5, 0x000001eb,  9},
  {    6, 0x000003ed, 10}, {    7, 0x000007f7, 11},
  {   64, 0x00000004,  3}, {   65, 0x0000000c,  4},
  {   66, 0x00000035,  6}, {   67, 0x00000071,  7},
  {   68, 0x000000ec,  8}, {   69, 0x000000ee,  8},
  {   70, 0x000001ee,  9}, {   71, 0x000001f5,  9},
  {  128, 0x00000036,  6}, {  129, 0x00000034,  6},
  {  130, 0x00000072,  7}, {  131, 0x000000ea,  8},
  {  132, 0x000000f1,  8}, {  133, 0x000001e9,  9},
  {  134, 0x000001f3,  9}, {  135, 0x000003f5, 10},
  {  192, 0x00000073,  7}, {  193, 0x00000070,  7},
  {  194, 0x000000eb,  8}, {  195, 0x000000f0,  8},
  {  196, 0x000001f1,  9}, {  197, 0x000001f0,  9},
  {  198, 0x000003ec, 10}, {  199, 0x000003fa, 10},
  {  256, 0x000000f3,  8}, {  257, 0x000000ed,  8},
  {  258, 0x000001e8,  9}, {  259, 0x000001ef,  9},
  {  260, 0x000003ef, 10}, {  261, 0x000003f1, 10},
  {  262, 0x000003f9, 10}, {  263, 0x000007fb, 11},
  {  320, 0x000001ed,  9}, {  321, 0x000000ef,  8},
  {  322, 0x000001ea,  9}, {  323, 0x000001f2,  9},
  {  324, 0x000003f3, 10}, {  325, 0x000003f8, 10},
  {  326, 0x000007f9, 11}, {  327, 0x000007fc, 11},
  {  384, 0x000003ee, 10}, {  385, 0x000001ec,  9},
  {  386, 0x000001f4,  9}, {  387, 0x000003f4, 10},
  {  388, 0x000003f7, 10}, {  389, 0x000007f8, 11},
  {  390, 0x00000ffd, 12}, {  391, 0x00000ffe, 12},
  {  448, 0x000007f6, 11}, {  449, 0x000003f0, 10},
  {  450, 0x000003f2, 10}, {  451, 0x000003f6, 10},
  {  452, 0x000007fa, 11}, {  453, 0x000007fd, 11},
  {  454, 0x00000ffc, 12}, {  455, 0x00000fff, 12}
};
static IppsVLCTable_32s aacidec_spec_book8[] = {
  {    0, 0x0000000e,  5}, {    1, 0x00000005,  4},
  {    2, 0x00000010,  5}, {    3, 0x00000030,  6},
  {    4, 0x0000006f,  7}, {    5, 0x000000f1,  8},
  {    6, 0x000001fa,  9}, {    7, 0x000003fe, 10},
  {   64, 0x00000003,  4}, {   65, 0x00000000,  3},
  {   66, 0x00000004,  4}, {   67, 0x00000012,  5},
  {   68, 0x0000002c,  6}, {   69, 0x0000006a,  7},
  {   70, 0x00000075,  7}, {   71, 0x000000f8,  8},
  {  128, 0x0000000f,  5}, {  129, 0x00000002,  4},
  {  130, 0x00000006,  4}, {  131, 0x00000014,  5},
  {  132, 0x0000002e,  6}, {  133, 0x00000069,  7},
  {  134, 0x00000072,  7}, {  135, 0x000000f5,  8},
  {  192, 0x0000002f,  6}, {  193, 0x00000011,  5},
  {  194, 0x00000013,  5}, {  195, 0x0000002a,  6},
  {  196, 0x00000032,  6}, {  197, 0x0000006c,  7},
  {  198, 0x000000ec,  8}, {  199, 0x000000fa,  8},
  {  256, 0x00000071,  7}, {  257, 0x0000002b,  6},
  {  258, 0x0000002d,  6}, {  259, 0x00000031,  6},
  {  260, 0x0000006d,  7}, {  261, 0x00000070,  7},
  {  262, 0x000000f2,  8}, {  263, 0x000001f9,  9},
  {  320, 0x000000ef,  8}, {  321, 0x00000068,  7},
  {  322, 0x00000033,  6}, {  323, 0x0000006b,  7},
  {  324, 0x0000006e,  7}, {  325, 0x000000ee,  8},
  {  326, 0x000000f9,  8}, {  327, 0x000003fc, 10},
  {  384, 0x000001f8,  9}, {  385, 0x00000074,  7},
  {  386, 0x00000073,  7}, {  387, 0x000000ed,  8},
  {  388, 0x000000f0,  8}, {  389, 0x000000f6,  8},
  {  390, 0x000001f6,  9}, {  391, 0x000001fd,  9},
  {  448, 0x000003fd, 10}, {  449, 0x000000f3,  8},
  {  450, 0x000000f4,  8}, {  451, 0x000000f7,  8},
  {  452, 0x000001f7,  9}, {  453, 0x000001fb,  9},
  {  454, 0x000001fc,  9}, {  455, 0x000003ff, 10}
};
static IppsVLCTable_32s aacidec_spec_book9[] = {
  {    0, 0x00000000,  1}, {    1, 0x00000005,  3},
  {    2, 0x00000037,  6}, {    3, 0x000000e7,  8},
  {    4, 0x000001de,  9}, {    5, 0x000003ce, 10},
  {    6, 0x000003d9, 10}, {    7, 0x000007c8, 11},
  {    8, 0x000007cd, 11}, {    9, 0x00000fc8, 12},
  {   10, 0x00000fdd, 12}, {   11, 0x00001fe4, 13},
  {   12, 0x00001fec, 13}, {   64, 0x00000004,  3},
  {   65, 0x0000000c,  4}, {   66, 0x00000035,  6},
  {   67, 0x00000072,  7}, {   68, 0x000000ea,  8},
  {   69, 0x000000ed,  8}, {   70, 0x000001e2,  9},
  {   71, 0x000003d1, 10}, {   72, 0x000003d3, 10},
  {   73, 0x000003e0, 10}, {   74, 0x000007d8, 11},
  {   75, 0x00000fcf, 12}, {   76, 0x00000fd5, 12},
  {  128, 0x00000036,  6}, {  129, 0x00000034,  6},
  {  130, 0x00000071,  7}, {  131, 0x000000e8,  8},
  {  132, 0x000000ec,  8}, {  133, 0x000001e1,  9},
  {  134, 0x000003cf, 10}, {  135, 0x000003dd, 10},
  {  136, 0x000003db, 10}, {  137, 0x000007d0, 11},
  {  138, 0x00000fc7, 12}, {  139, 0x00000fd4, 12},
  {  140, 0x00000fe4, 12}, {  192, 0x000000e6,  8},
  {  193, 0x00000070,  7}, {  194, 0x000000e9,  8},
  {  195, 0x000001dd,  9}, {  196, 0x000001e3,  9},
  {  197, 0x000003d2, 10}, {  198, 0x000003dc, 10},
  {  199, 0x000007cc, 11}, {  200, 0x000007ca, 11},
  {  201, 0x000007de, 11}, {  202, 0x00000fd8, 12},
  {  203, 0x00000fea, 12}, {  204, 0x00001fdb, 13},
  {  256, 0x000001df,  9}, {  257, 0x000000eb,  8},
  {  258, 0x000001dc,  9}, {  259, 0x000001e6,  9},
  {  260, 0x000003d5, 10}, {  261, 0x000003de, 10},
  {  262, 0x000007cb, 11}, {  263, 0x000007dd, 11},
  {  264, 0x000007dc, 11}, {  265, 0x00000fcd, 12},
  {  266, 0x00000fe2, 12}, {  267, 0x00000fe7, 12},
  {  268, 0x00001fe1, 13}, {  320, 0x000003d0, 10},
  {  321, 0x000001e0,  9}, {  322, 0x000001e4,  9},
  {  323, 0x000003d6, 10}, {  324, 0x000007c5, 11},
  {  325, 0x000007d1, 11}, {  326, 0x000007db, 11},
  {  327, 0x00000fd2, 12}, {  328, 0x000007e0, 11},
  {  329, 0x00000fd9, 12}, {  330, 0x00000feb, 12},
  {  331, 0x00001fe3, 13}, {  332, 0x00001fe9, 13},
  {  384, 0x000007c4, 11}, {  385, 0x000001e5,  9},
  {  386, 0x000003d7, 10}, {  387, 0x000007c6, 11},
  {  388, 0x000007cf, 11}, {  389, 0x000007da, 11},
  {  390, 0x00000fcb, 12}, {  391, 0x00000fda, 12},
  {  392, 0x00000fe3, 12}, {  393, 0x00000fe9, 12},
  {  394, 0x00001fe6, 13}, {  395, 0x00001ff3, 13},
  {  396, 0x00001ff7, 13}, {  448, 0x000007d3, 11},
  {  449, 0x000003d8, 10}, {  450, 0x000003e1, 10},
  {  451, 0x000007d4, 11}, {  452, 0x000007d9, 11},
  {  453, 0x00000fd3, 12}, {  454, 0x00000fde, 12},
  {  455, 0x00001fdd, 13}, {  456, 0x00001fd9, 13},
  {  457, 0x00001fe2, 13}, {  458, 0x00001fea, 13},
  {  459, 0x00001ff1, 13}, {  460, 0x00001ff6, 13},
  {  512, 0x000007d2, 11}, {  513, 0x000003d4, 10},
  {  514, 0x000003da, 10}, {  515, 0x000007c7, 11},
  {  516, 0x000007d7, 11}, {  517, 0x000007e2, 11},
  {  518, 0x00000fce, 12}, {  519, 0x00000fdb, 12},
  {  520, 0x00001fd8, 13}, {  521, 0x00001fee, 13},
  {  522, 0x00003ff0, 14}, {  523, 0x00001ff4, 13},
  {  524, 0x00003ff2, 14}, {  576, 0x000007e1, 11},
  {  577, 0x000003df, 10}, {  578, 0x000007c9, 11},
  {  579, 0x000007d6, 11}, {  580, 0x00000fca, 12},
  {  581, 0x00000fd0, 12}, {  582, 0x00000fe5, 12},
  {  583, 0x00000fe6, 12}, {  584, 0x00001feb, 13},
  {  585, 0x00001fef, 13}, {  586, 0x00003ff3, 14},
  {  587, 0x00003ff4, 14}, {  588, 0x00003ff5, 14},
  {  640, 0x00000fe0, 12}, {  641, 0x000007ce, 11},
  {  642, 0x000007d5, 11}, {  643, 0x00000fc6, 12},
  {  644, 0x00000fd1, 12}, {  645, 0x00000fe1, 12},
  {  646, 0x00001fe0, 13}, {  647, 0x00001fe8, 13},
  {  648, 0x00001ff0, 13}, {  649, 0x00003ff1, 14},
  {  650, 0x00003ff8, 14}, {  651, 0x00003ff6, 14},
  {  652, 0x00007ffc, 15}, {  704, 0x00000fe8, 12},
  {  705, 0x000007df, 11}, {  706, 0x00000fc9, 12},
  {  707, 0x00000fd7, 12}, {  708, 0x00000fdc, 12},
  {  709, 0x00001fdc, 13}, {  710, 0x00001fdf, 13},
  {  711, 0x00001fed, 13}, {  712, 0x00001ff5, 13},
  {  713, 0x00003ff9, 14}, {  714, 0x00003ffb, 14},
  {  715, 0x00007ffd, 15}, {  716, 0x00007ffe, 15},
  {  768, 0x00001fe7, 13}, {  769, 0x00000fcc, 12},
  {  770, 0x00000fd6, 12}, {  771, 0x00000fdf, 12},
  {  772, 0x00001fde, 13}, {  773, 0x00001fda, 13},
  {  774, 0x00001fe5, 13}, {  775, 0x00001ff2, 13},
  {  776, 0x00003ffa, 14}, {  777, 0x00003ff7, 14},
  {  778, 0x00003ffc, 14}, {  779, 0x00003ffd, 14},
  {  780, 0x00007fff, 15}
};
static IppsVLCTable_32s aacidec_spec_book10[] = {
  {    0, 0x00000022,  6}, {    1, 0x00000008,  5},
  {    2, 0x0000001d,  6}, {    3, 0x00000026,  6},
  {    4, 0x0000005f,  7}, {    5, 0x000000d3,  8},
  {    6, 0x000001cf,  9}, {    7, 0x000003d0, 10},
  {    8, 0x000003d7, 10}, {    9, 0x000003ed, 10},
  {   10, 0x000007f0, 11}, {   11, 0x000007f6, 11},
  {   12, 0x00000ffd, 12}, {   64, 0x00000007,  5},
  {   65, 0x00000000,  4}, {   66, 0x00000001,  4},
  {   67, 0x00000009,  5}, {   68, 0x00000020,  6},
  {   69, 0x00000054,  7}, {   70, 0x00000060,  7},
  {   71, 0x000000d5,  8}, {   72, 0x000000dc,  8},
  {   73, 0x000001d4,  9}, {   74, 0x000003cd, 10},
  {   75, 0x000003de, 10}, {   76, 0x000007e7, 11},
  {  128, 0x0000001c,  6}, {  129, 0x00000002,  4},
  {  130, 0x00000006,  5}, {  131, 0x0000000c,  5},
  {  132, 0x0000001e,  6}, {  133, 0x00000028,  6},
  {  134, 0x0000005b,  7}, {  135, 0x000000cd,  8},
  {  136, 0x000000d9,  8}, {  137, 0x000001ce,  9},
  {  138, 0x000001dc,  9}, {  139, 0x000003d9, 10},
  {  140, 0x000003f1, 10}, {  192, 0x00000025,  6},
  {  193, 0x0000000b,  5}, {  194, 0x0000000a,  5},
  {  195, 0x0000000d,  5}, {  196, 0x00000024,  6},
  {  197, 0x00000057,  7}, {  198, 0x00000061,  7},
  {  199, 0x000000cc,  8}, {  200, 0x000000dd,  8},
  {  201, 0x000001cc,  9}, {  202, 0x000001de,  9},
  {  203, 0x000003d3, 10}, {  204, 0x000003e7, 10},
  {  256, 0x0000005d,  7}, {  257, 0x00000021,  6},
  {  258, 0x0000001f,  6}, {  259, 0x00000023,  6},
  {  260, 0x00000027,  6}, {  261, 0x00000059,  7},
  {  262, 0x00000064,  7}, {  263, 0x000000d8,  8},
  {  264, 0x000000df,  8}, {  265, 0x000001d2,  9},
  {  266, 0x000001e2,  9}, {  267, 0x000003dd, 10},
  {  268, 0x000003ee, 10}, {  320, 0x000000d1,  8},
  {  321, 0x00000055,  7}, {  322, 0x00000029,  6},
  {  323, 0x00000056,  7}, {  324, 0x00000058,  7},
  {  325, 0x00000062,  7}, {  326, 0x000000ce,  8},
  {  327, 0x000000e0,  8}, {  328, 0x000000e2,  8},
  {  329, 0x000001da,  9}, {  330, 0x000003d4, 10},
  {  331, 0x000003e3, 10}, {  332, 0x000007eb, 11},
  {  384, 0x000001c9,  9}, {  385, 0x0000005e,  7},
  {  386, 0x0000005a,  7}, {  387, 0x0000005c,  7},
  {  388, 0x00000063,  7}, {  389, 0x000000ca,  8},
  {  390, 0x000000da,  8}, {  391, 0x000001c7,  9},
  {  392, 0x000001ca,  9}, {  393, 0x000001e0,  9},
  {  394, 0x000003db, 10}, {  395, 0x000003e8, 10},
  {  396, 0x000007ec, 11}, {  448, 0x000001e3,  9},
  {  449, 0x000000d2,  8}, {  450, 0x000000cb,  8},
  {  451, 0x000000d0,  8}, {  452, 0x000000d7,  8},
  {  453, 0x000000db,  8}, {  454, 0x000001c6,  9},
  {  455, 0x000001d5,  9}, {  456, 0x000001d8,  9},
  {  457, 0x000003ca, 10}, {  458, 0x000003da, 10},
  {  459, 0x000007ea, 11}, {  460, 0x000007f1, 11},
  {  512, 0x000001e1,  9}, {  513, 0x000000d4,  8},
  {  514, 0x000000cf,  8}, {  515, 0x000000d6,  8},
  {  516, 0x000000de,  8}, {  517, 0x000000e1,  8},
  {  518, 0x000001d0,  9}, {  519, 0x000001d6,  9},
  {  520, 0x000003d1, 10}, {  521, 0x000003d5, 10},
  {  522, 0x000003f2, 10}, {  523, 0x000007ee, 11},
  {  524, 0x000007fb, 11}, {  576, 0x000003e9, 10},
  {  577, 0x000001cd,  9}, {  578, 0x000001c8,  9},
  {  579, 0x000001cb,  9}, {  580, 0x000001d1,  9},
  {  581, 0x000001d7,  9}, {  582, 0x000001df,  9},
  {  583, 0x000003cf, 10}, {  584, 0x000003e0, 10},
  {  585, 0x000003ef, 10}, {  586, 0x000007e6, 11},
  {  587, 0x000007f8, 11}, {  588, 0x00000ffa, 12},
  {  640, 0x000003eb, 10}, {  641, 0x000001dd,  9},
  {  642, 0x000001d3,  9}, {  643, 0x000001d9,  9},
  {  644, 0x000001db,  9}, {  645, 0x000003d2, 10},
  {  646, 0x000003cc, 10}, {  647, 0x000003dc, 10},
  {  648, 0x000003ea, 10}, {  649, 0x000007ed, 11},
  {  650, 0x000007f3, 11}, {  651, 0x000007f9, 11},
  {  652, 0x00000ff9, 12}, {  704, 0x000007f2, 11},
  {  705, 0x000003ce, 10}, {  706, 0x000001e4,  9},
  {  707, 0x000003cb, 10}, {  708, 0x000003d8, 10},
  {  709, 0x000003d6, 10}, {  710, 0x000003e2, 10},
  {  711, 0x000003e5, 10}, {  712, 0x000007e8, 11},
  {  713, 0x000007f4, 11}, {  714, 0x000007f5, 11},
  {  715, 0x000007f7, 11}, {  716, 0x00000ffb, 12},
  {  768, 0x000007fa, 11}, {  769, 0x000003ec, 10},
  {  770, 0x000003df, 10}, {  771, 0x000003e1, 10},
  {  772, 0x000003e4, 10}, {  773, 0x000003e6, 10},
  {  774, 0x000003f0, 10}, {  775, 0x000007e9, 11},
  {  776, 0x000007ef, 11}, {  777, 0x00000ff8, 12},
  {  778, 0x00000ffe, 12}, {  779, 0x00000ffc, 12},
  {  780, 0x00000fff, 12}
};
static IppsVLCTable_32s aacidec_spec_book11[] = {
  {    0, 0x00000000,  4}, {    1, 0x00000006,  5},
  {    2, 0x00000019,  6}, {    3, 0x0000003d,  7},
  {    4, 0x0000009c,  8}, {    5, 0x000000c6,  8},
  {    6, 0x000001a7,  9}, {    7, 0x00000390, 10},
  {    8, 0x000003c2, 10}, {    9, 0x000003df, 10},
  {   10, 0x000007e6, 11}, {   11, 0x000007f3, 11},
  {   12, 0x00000ffb, 12}, {   13, 0x000007ec, 11},
  {   14, 0x00000ffa, 12}, {   15, 0x00000ffe, 12},
  {   16, 0x0000038e, 10}, {   64, 0x00000005,  5},
  {   65, 0x00000001,  4}, {   66, 0x00000008,  5},
  {   67, 0x00000014,  6}, {   68, 0x00000037,  7},
  {   69, 0x00000042,  7}, {   70, 0x00000092,  8},
  {   71, 0x000000af,  8}, {   72, 0x00000191,  9},
  {   73, 0x000001a5,  9}, {   74, 0x000001b5,  9},
  {   75, 0x0000039e, 10}, {   76, 0x000003c0, 10},
  {   77, 0x000003a2, 10}, {   78, 0x000003cd, 10},
  {   79, 0x000007d6, 11}, {   80, 0x000000ae,  8},
  {  128, 0x00000017,  6}, {  129, 0x00000007,  5},
  {  130, 0x00000009,  5}, {  131, 0x00000018,  6},
  {  132, 0x00000039,  7}, {  133, 0x00000040,  7},
  {  134, 0x0000008e,  8}, {  135, 0x000000a3,  8},
  {  136, 0x000000b8,  8}, {  137, 0x00000199,  9},
  {  138, 0x000001ac,  9}, {  139, 0x000001c1,  9},
  {  140, 0x000003b1, 10}, {  141, 0x00000396, 10},
  {  142, 0x000003be, 10}, {  143, 0x000003ca, 10},
  {  144, 0x0000009d,  8}, {  192, 0x0000003c,  7},
  {  193, 0x00000015,  6}, {  194, 0x00000016,  6},
  {  195, 0x0000001a,  6}, {  196, 0x0000003b,  7},
  {  197, 0x00000044,  7}, {  198, 0x00000091,  8},
  {  199, 0x000000a5,  8}, {  200, 0x000000be,  8},
  {  201, 0x00000196,  9}, {  202, 0x000001ae,  9},
  {  203, 0x000001b9,  9}, {  204, 0x000003a1, 10},
  {  205, 0x00000391, 10}, {  206, 0x000003a5, 10},
  {  207, 0x000003d5, 10}, {  208, 0x00000094,  8},
  {  256, 0x0000009a,  8}, {  257, 0x00000036,  7},
  {  258, 0x00000038,  7}, {  259, 0x0000003a,  7},
  {  260, 0x00000041,  7}, {  261, 0x0000008c,  8},
  {  262, 0x0000009b,  8}, {  263, 0x000000b0,  8},
  {  264, 0x000000c3,  8}, {  265, 0x0000019e,  9},
  {  266, 0x000001ab,  9}, {  267, 0x000001bc,  9},
  {  268, 0x0000039f, 10}, {  269, 0x0000038f, 10},
  {  270, 0x000003a9, 10}, {  271, 0x000003cf, 10},
  {  272, 0x00000093,  8}, {  320, 0x000000bf,  8},
  {  321, 0x0000003e,  7}, {  322, 0x0000003f,  7},
  {  323, 0x00000043,  7}, {  324, 0x00000045,  7},
  {  325, 0x0000009e,  8}, {  326, 0x000000a7,  8},
  {  327, 0x000000b9,  8}, {  328, 0x00000194,  9},
  {  329, 0x000001a2,  9}, {  330, 0x000001ba,  9},
  {  331, 0x000001c3,  9}, {  332, 0x000003a6, 10},
  {  333, 0x000003a7, 10}, {  334, 0x000003bb, 10},
  {  335, 0x000003d4, 10}, {  336, 0x0000009f,  8},
  {  384, 0x000001a0,  9}, {  385, 0x0000008f,  8},
  {  386, 0x0000008d,  8}, {  387, 0x00000090,  8},
  {  388, 0x00000098,  8}, {  389, 0x000000a6,  8},
  {  390, 0x000000b6,  8}, {  391, 0x000000c4,  8},
  {  392, 0x0000019f,  9}, {  393, 0x000001af,  9},
  {  394, 0x000001bf,  9}, {  395, 0x00000399, 10},
  {  396, 0x000003bf, 10}, {  397, 0x000003b4, 10},
  {  398, 0x000003c9, 10}, {  399, 0x000003e7, 10},
  {  400, 0x000000a8,  8}, {  448, 0x000001b6,  9},
  {  449, 0x000000ab,  8}, {  450, 0x000000a4,  8},
  {  451, 0x000000aa,  8}, {  452, 0x000000b2,  8},
  {  453, 0x000000c2,  8}, {  454, 0x000000c5,  8},
  {  455, 0x00000198,  9}, {  456, 0x000001a4,  9},
  {  457, 0x000001b8,  9}, {  458, 0x0000038c, 10},
  {  459, 0x000003a4, 10}, {  460, 0x000003c4, 10},
  {  461, 0x000003c6, 10}, {  462, 0x000003dd, 10},
  {  463, 0x000003e8, 10}, {  464, 0x000000ad,  8},
  {  512, 0x000003af, 10}, {  513, 0x00000192,  9},
  {  514, 0x000000bd,  8}, {  515, 0x000000bc,  8},
  {  516, 0x0000018e,  9}, {  517, 0x00000197,  9},
  {  518, 0x0000019a,  9}, {  519, 0x000001a3,  9},
  {  520, 0x000001b1,  9}, {  521, 0x0000038d, 10},
  {  522, 0x00000398, 10}, {  523, 0x000003b7, 10},
  {  524, 0x000003d3, 10}, {  525, 0x000003d1, 10},
  {  526, 0x000003db, 10}, {  527, 0x000007dd, 11},
  {  528, 0x000000b4,  8}, {  576, 0x000003de, 10},
  {  577, 0x000001a9,  9}, {  578, 0x0000019b,  9},
  {  579, 0x0000019c,  9}, {  580, 0x000001a1,  9},
  {  581, 0x000001aa,  9}, {  582, 0x000001ad,  9},
  {  583, 0x000001b3,  9}, {  584, 0x0000038b, 10},
  {  585, 0x000003b2, 10}, {  586, 0x000003b8, 10},
  {  587, 0x000003ce, 10}, {  588, 0x000003e1, 10},
  {  589, 0x000003e0, 10}, {  590, 0x000007d2, 11},
  {  591, 0x000007e5, 11}, {  592, 0x000000b7,  8},
  {  640, 0x000007e3, 11}, {  641, 0x000001bb,  9},
  {  642, 0x000001a8,  9}, {  643, 0x000001a6,  9},
  {  644, 0x000001b0,  9}, {  645, 0x000001b2,  9},
  {  646, 0x000001b7,  9}, {  647, 0x0000039b, 10},
  {  648, 0x0000039a, 10}, {  649, 0x000003ba, 10},
  {  650, 0x000003b5, 10}, {  651, 0x000003d6, 10},
  {  652, 0x000007d7, 11}, {  653, 0x000003e4, 10},
  {  654, 0x000007d8, 11}, {  655, 0x000007ea, 11},
  {  656, 0x000000ba,  8}, {  704, 0x000007e8, 11},
  {  705, 0x000003a0, 10}, {  706, 0x000001bd,  9},
  {  707, 0x000001b4,  9}, {  708, 0x0000038a, 10},
  {  709, 0x000001c4,  9}, {  710, 0x00000392, 10},
  {  711, 0x000003aa, 10}, {  712, 0x000003b0, 10},
  {  713, 0x000003bc, 10}, {  714, 0x000003d7, 10},
  {  715, 0x000007d4, 11}, {  716, 0x000007dc, 11},
  {  717, 0x000007db, 11}, {  718, 0x000007d5, 11},
  {  719, 0x000007f0, 11}, {  720, 0x000000c1,  8},
  {  768, 0x000007fb, 11}, {  769, 0x000003c8, 10},
  {  770, 0x000003a3, 10}, {  771, 0x00000395, 10},
  {  772, 0x0000039d, 10}, {  773, 0x000003ac, 10},
  {  774, 0x000003ae, 10}, {  775, 0x000003c5, 10},
  {  776, 0x000003d8, 10}, {  777, 0x000003e2, 10},
  {  778, 0x000003e6, 10}, {  779, 0x000007e4, 11},
  {  780, 0x000007e7, 11}, {  781, 0x000007e0, 11},
  {  782, 0x000007e9, 11}, {  783, 0x000007f7, 11},
  {  784, 0x00000190,  9}, {  832, 0x000007f2, 11},
  {  833, 0x00000393, 10}, {  834, 0x000001be,  9},
  {  835, 0x000001c0,  9}, {  836, 0x00000394, 10},
  {  837, 0x00000397, 10}, {  838, 0x000003ad, 10},
  {  839, 0x000003c3, 10}, {  840, 0x000003c1, 10},
  {  841, 0x000003d2, 10}, {  842, 0x000007da, 11},
  {  843, 0x000007d9, 11}, {  844, 0x000007df, 11},
  {  845, 0x000007eb, 11}, {  846, 0x000007f4, 11},
  {  847, 0x000007fa, 11}, {  848, 0x00000195,  9},
  {  896, 0x000007f8, 11}, {  897, 0x000003bd, 10},
  {  898, 0x0000039c, 10}, {  899, 0x000003ab, 10},
  {  900, 0x000003a8, 10}, {  901, 0x000003b3, 10},
  {  902, 0x000003b9, 10}, {  903, 0x000003d0, 10},
  {  904, 0x000003e3, 10}, {  905, 0x000003e5, 10},
  {  906, 0x000007e2, 11}, {  907, 0x000007de, 11},
  {  908, 0x000007ed, 11}, {  909, 0x000007f1, 11},
  {  910, 0x000007f9, 11}, {  911, 0x000007fc, 11},
  {  912, 0x00000193,  9}, {  960, 0x00000ffd, 12},
  {  961, 0x000003dc, 10}, {  962, 0x000003b6, 10},
  {  963, 0x000003c7, 10}, {  964, 0x000003cc, 10},
  {  965, 0x000003cb, 10}, {  966, 0x000003d9, 10},
  {  967, 0x000003da, 10}, {  968, 0x000007d3, 11},
  {  969, 0x000007e1, 11}, {  970, 0x000007ee, 11},
  {  971, 0x000007ef, 11}, {  972, 0x000007f5, 11},
  {  973, 0x000007f6, 11}, {  974, 0x00000ffc, 12},
  {  975, 0x00000fff, 12}, {  976, 0x0000019d,  9},
  { 1024, 0x000001c2,  9}, { 1025, 0x000000b5,  8},
  { 1026, 0x000000a1,  8}, { 1027, 0x00000096,  8},
  { 1028, 0x00000097,  8}, { 1029, 0x00000095,  8},
  { 1030, 0x00000099,  8}, { 1031, 0x000000a0,  8},
  { 1032, 0x000000a2,  8}, { 1033, 0x000000ac,  8},
  { 1034, 0x000000a9,  8}, { 1035, 0x000000b1,  8},
  { 1036, 0x000000b3,  8}, { 1037, 0x000000bb,  8},
  { 1038, 0x000000c0,  8}, { 1039, 0x0000018f,  9},
  { 1040, 0x00000004,  5}
};

IppsVLCTable_32s *aacidec_vlcBooks[] = {
  aacidec_sf_book, aacidec_spec_book1, aacidec_spec_book2,
  aacidec_spec_book3, aacidec_spec_book4, aacidec_spec_book5,
  aacidec_spec_book6, aacidec_spec_book7, aacidec_spec_book8,
  aacidec_spec_book9, aacidec_spec_book10, aacidec_spec_book11
};

#endif //UMC_ENABLE_AAC_INT_AUDIO_DECODER

